Open Systems Interconnection (OSI) is a standard description or “reference model” for how messages should be transmitted between any two points in a telecommunication network. The purpose of OSI is to guide product implementors so that their products will consistently work with other products. The reference model defines seven layers of functions that take place at each end of communication. The first layer (also referred to as the physical layer) conveys the bit stream through the network at the electrical and mechanical levels. The physical layer provides the hardware means of sending and receiving data on a carrier. The physical layer is defined by various specifications. For instance, the IEEE 802.11a standard defines the physical layer for wireless LAN communications, Bluetooth™ defines the physical layer for communications involving mobile phones, computers, and personal digital assistants, etc.
A number of current physical layer algorithms involves bit manipulation of data streams. For instance, the “Convolutional Encoder” algorithm used in the IEEE 802.11a standard generates two streams of encoded bits which are then interleaved into a single stream of data using the “Interleaver” algorithm. Naive software implementation of the “Interleaver” algorithm would result in an inefficient and time-consuming code. Thus, a mechanism for optimizing existing physical layer algorithms is needed.